package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.xnew.bean.common.FileInfo;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
* @Author: Zhozh
* @Description: 会员代表信息表
* @DateTime: 2022/5/30
* @Params:
* @Return
*/
@TableName("t10_mem_repre_info")
public class MemRepreInfo implements Serializable {


    private static final long serialVersionUID = 1L;

    /**
    * 会员代表信息编号
    */

    @TableId("mem_repre_info_no")
    private String memRepreInfoNo;

    /**
    * 机构用户代码
    */
    private String orgUserNo;

    /**
    * 协会任职职位
    */
    private String sacPositCode;

    /**
    * 信息审核状态
    */
    private String infsubAuditStatusCode;

    /**
    * 会员代表信息录入时间
    */
    private String infoInputTime;

    /**
    * 会员代表更新时间
    */
    private String infoUpdateTime;

    /**
    * 会员代表姓名
    */
    private String memRepreName;

    /**
    * 公司任职
    */
    private String unitPostName;

    /**
    * 会员代表联系电话
    */
    private String memRepreContactTel;

    /**
    * 会员代表传真
    */
    private String memRepreFax;

    /**
    * 代表email
    */
    private String memRepreEml;

    /**
    * 会员代表移动电话
    */
    private String memRepreMob;

    /**
    * 会员代表邮政编码
    */
    private String memRepreZipCode;

    /**
    * 会员代表通信地址
    */
    private String memRepreContactAddr;

    /**
    * 秘书姓名
    */
    private String secreName;

    /**
    * 秘书电话
    */
    private String secreTel;

    /**
    * 秘书email
    */
    private String secreEml;

    /**
     * 会员代表通信地址
     */
    private String secreAddr;

    /**
    * 秘书移动电话
    */
    private String secreMob;

    /**
    * 会员代表信息录入人
    */
    private String infoInputPsnNo;

    /**
    * 会员代表更新人
    */
    private String infoUpdatePsnNo;

    /**
    * 是否是关闭状态（1：是 0：否）
    */
    private String isCloseStatus;

    /**
     * 审核日志
     */
    @TableField(exist = false)
    private List<AuditLog> auditLogList;


    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }


    @TableField(exist = false)
    private List<FileInfo> fileList;

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }

    public List<FileInfo> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileInfo> fileList) {
        this.fileList = fileList;
    }

    public MemRepreInfo() {
    }

    public String getMemRepreInfoNo() {
        return memRepreInfoNo;
    }

    public void setMemRepreInfoNo(String memRepreInfoNo) {
        this.memRepreInfoNo = memRepreInfoNo;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getSacPositCode() {
        return sacPositCode;
    }

    public void setSacPositCode(String sacPositCode) {
        this.sacPositCode = sacPositCode;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getInfoUpdateTime() {
        return infoUpdateTime;
    }

    public void setInfoUpdateTime(String infoUpdateTime) {
        this.infoUpdateTime = infoUpdateTime;
    }

    public String getMemRepreName() {
        return memRepreName;
    }

    public void setMemRepreName(String memRepreName) {
        this.memRepreName = memRepreName;
    }

    public String getUnitPostName() {
        return unitPostName;
    }

    public void setUnitPostName(String unitPostName) {
        this.unitPostName = unitPostName;
    }

    public String getMemRepreContactTel() {
        return memRepreContactTel;
    }

    public void setMemRepreContactTel(String memRepreContactTel) {
        this.memRepreContactTel = memRepreContactTel;
    }

    public String getMemRepreFax() {
        return memRepreFax;
    }

    public void setMemRepreFax(String memRepreFax) {
        this.memRepreFax = memRepreFax;
    }

    public String getMemRepreEml() {
        return memRepreEml;
    }

    public void setMemRepreEml(String memRepreEml) {
        this.memRepreEml = memRepreEml;
    }

    public String getMemRepreMob() {
        return memRepreMob;
    }

    public void setMemRepreMob(String memRepreMob) {
        this.memRepreMob = memRepreMob;
    }

    public String getMemRepreZipCode() {
        return memRepreZipCode;
    }

    public void setMemRepreZipCode(String memRepreZipCode) {
        this.memRepreZipCode = memRepreZipCode;
    }

    public String getMemRepreContactAddr() {
        return memRepreContactAddr;
    }

    public void setMemRepreContactAddr(String memRepreContactAddr) {
        this.memRepreContactAddr = memRepreContactAddr;
    }

    public String getSecreName() {
        return secreName;
    }

    public void setSecreName(String secreName) {
        this.secreName = secreName;
    }

    public String getSecreTel() {
        return secreTel;
    }

    public void setSecreTel(String secreTel) {
        this.secreTel = secreTel;
    }

    public String getSecreEml() {
        return secreEml;
    }

    public void setSecreEml(String secreEml) {
        this.secreEml = secreEml;
    }

    public String getSecreMob() {
        return secreMob;
    }

    public void setSecreMob(String secreMob) {
        this.secreMob = secreMob;
    }

    public String getInfoInputPsnNo() {
        return infoInputPsnNo;
    }

    public void setInfoInputPsnNo(String infoInputPsnNo) {
        this.infoInputPsnNo = infoInputPsnNo;
    }

    public String getInfoUpdatePsnNo() {
        return infoUpdatePsnNo;
    }

    public void setInfoUpdatePsnNo(String infoUpdatePsnNo) {
        this.infoUpdatePsnNo = infoUpdatePsnNo;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    public String getSecreAddr() {
        return secreAddr;
    }

    public void setSecreAddr(String secreAddr) {
        this.secreAddr = secreAddr;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","sacPositCode","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0238","LIST"};
    }
}